﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;

namespace MMK.Paket_Tracker.Runtime.BusinessEntities
{
    /// <summary>
    /// 
    /// </summary>
    public class MainWindowNotification
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindowNotification"/> class.
        /// </summary>
        /// <param name="useCaseName">Name of the use case.</param>
        public MainWindowNotification(String useCaseName)
        {
            UseCaseName = useCaseName;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindowNotification"/> class.
        /// </summary>
        /// <param name="paramObject">The param object.</param>
        public MainWindowNotification(Object paramObject)
        {
            Data = paramObject;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindowNotification"/> class.
        /// </summary>
        /// <param name="command">The command.</param>
        public MainWindowNotification(RoutedUICommand command)
        {
            Command = command;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindowNotification"/> class.
        /// </summary>
        /// <param name="useCaseName">Name of the use case.</param>
        /// <param name="paramObject">The param object.</param>
        /// <param name="command">The command.</param>
        public MainWindowNotification(String useCaseName, Object paramObject, RoutedUICommand command)
        {
            UseCaseName = useCaseName;
            Data = paramObject;
            Command = command;
        }

        /// <summary>
        /// Gets or sets the name of the use case.
        /// </summary>
        /// <value>The name of the use case.</value>
        public String UseCaseName { get; set; }
        /// <summary>
        /// Gets or sets the data.
        /// </summary>
        /// <value>The data.</value>
        public Object Data { get; set; }
        /// <summary>
        /// Gets or sets the command.
        /// </summary>
        /// <value>The command.</value>
        public RoutedUICommand Command { get; set; }
    }
}
